package com.monster.util;

import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * 对数据库存储的数据进行转化，以满足在html页面中显示的需要的工具类
 * @author cyb
 */
public class DataBaseHtml {
    /**
     * 将存储jpg格式图片的流对象转成html中img标签的src属性值，以在网页中显示图片
     * @param is 存储jpg格式图片的流对象
     * @return String类型的img-src值
     */
    public static String toImageSource(InputStream is) {
        BufferedInputStream bis = null;
        String imageSource = null;
        try {
            bis = new BufferedInputStream(is);
            byte[] bytes = new byte[5*1024*1024];
            int len = bytes.length;
            int offset = 0;
            int read = 0;
            while (offset < len && (read = bis.read(bytes, offset, len - offset)) >= 0) {
                offset += read;
            }
            imageSource = "data:image/jpeg;base64," + Base64.encode(bytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return imageSource;
    }

    /**
     * 将数据库中存储的简介文本中换行符“\r”去掉并将每一行文字加上p标签
     * @param profile 数据库中存储的简介文本
     * @return html文本
     */
    public static String toHtmlProfile(String profile) {
        if (profile != null) {
            profile = "<p>" + profile.replaceAll("\r", "</p><p>") + "</p>";
        } else {
            profile = "";
        }
        return profile;
    }

    /**
     * 将数据库中存储的歌词文本中换行符“\r”去掉并将每一行文字加上p标签
     * @param lyric 数据库中存储的歌词文本
     * @return html文本
     */
    public static String toHtmlLyric(String lyric) {
        StringBuilder sbu = new StringBuilder();
        for (String str : lyric.split("\n")) {
            sbu.append("<p>");
            if (str.indexOf("]") < str.length() - 1) {
                sbu.append(str.substring(str.indexOf("]") + 1));
            }
            sbu.append("</p>");
        }
        return sbu.toString();

    }

}
